/* $Header: tp_cmds.c,v 2.6 03/11/07 13:52:22 przybyls Exp $ */

/***********************************************************************/
/*                                                                     */
/*                  Copyright Hewlett-Packard Co. 1991                 */
/*                                                                     */
/***********************************************************************/

/***********************************************************************/
/* MODULE NAME: tp_cmds.c                                              */
/* ============                                                        */
/*                                                                     */
/* Author:                                                             */
/*                                                                     */
/* MODULE PURPOSE:   Contains commands that are used during            */
/*        development to testing.   These are not intended for use     */
/*        by the workstation, diagnostics, or manufacturing test.      */
/*                                                                     */
/*                                                                     */
/***********************************************************************/

/*
 */

/*****************************/
/*   GLOBAL INCLUDE FILES    */
/*****************************/

#include <typedefs.h>
#ifdef ALLOW_RW_COMMANDS
#include <p_wkfile.h>
#include <p_status.h>
#endif

#include <error.h>

#include <mio.h>
#include <cmd_set.h>
#include <cmdproc.h>
#include <method.h>
#include <hostutil.h>

#include <cmd_tbls.h>
#ifdef ALLOW_RW_COMMANDS
#include <flow.h>

#include <p_ui.h>
#endif

#include <lf_cmds.h>

/*****************************/
/*   LOCAL INCLUDE FILES     */
/*****************************/


/*****************************/
/*   GLOBAL VARIABLES        */
/*****************************/


/*****************************/
/*   EXTERNAL VARIABLES      */
/*****************************/


/*****************************/
/*   LOCAL DEFINES           */
/*****************************/


/*****************************/
/*   STATIC VARIABLES        */
/*****************************/


/*****************************/
/*   MACROS                  */
/*****************************/



/*****************************/
/*   IMPLEMENT SECTION       */
/*****************************/

#define ALLOW_TP_COMMANDS
#ifdef ALLOW_TP_COMMANDS
#ifdef ALLOW_RW_COMMANDS
#include "rw_tpcmds.ch"
#endif
#endif

/***********************************************************************/
/* FUNCTION: TPOpcodes                                                 */
/* ========                                                            */
/*                                                                     */
/* PURPOSE: calls routines to implement the diagnostic test (TP)       */
/*                 commands.                                           */
/*                                                                     */
/* RETURNED VALUE: none                                                */
/*                                                                     */
/* GLOBALS USED:                                                       */
/*                                                                     */
/* FILE SCOPE STATICS USED:                                            */
/*                                                                     */
/*                                                                     */
/* CALLS:                                                              */
/*                                                                     */
/* LIMITATIONS:                                                        */
/*                                                                     */
/* WARNINGS:                                                           */
/*                                                                     */
/*                                                                     */
/***********************************************************************/

INT16 TPOpcodes(CMD_TYPE  *p_cmd,BIT8  *p_resp_parm,U_INT16 max_resp_len)
{
INT16           parm_len;

   (void) max_resp_len;

   parm_len = NO_RESPONSE;
   switch( p_cmd->opcode.int_op )
   {
#ifdef ALLOW_TP_COMMANDS
      case  MAKEINT('E','S'):
        parm_len = DoCmd(p_cmd,p_resp_parm, &mTPES);
        break;

      case  MAKEINT('E','G'):
        parm_len = DoTPEG(p_cmd,p_resp_parm);
        break;

      case  MAKEINT('E','P'):
        parm_len = DoTPEP(p_cmd,p_resp_parm);
        break;

      case  MAKEINT('E','L'):
        parm_len = DoTPEL(p_cmd,p_resp_parm);
        break;

      case  MAKEINT('P','K'):
        parm_len = DoTPPK(p_cmd,p_resp_parm);
        break;

#ifdef ALLOW_RW_COMMANDS
#include "rw_tpcmds.ch"
#endif
#endif

      default:
         parm_len = NO_RESPONSE;
         CmdErrorHandler( p_cmd, 0, INVALID_OP );
         break;
   }
   return parm_len;
}


/***********************************************************************/
/* END FUNCTION: TPOpcodes                                             */
/***********************************************************************/




/***********************************************************************/
/* FUNCTION: TP_Cmds                                                   */
/* ========                                                            */
/*                                                                     */
/* PURPOSE: calls function which executes a command if one is          */
/*          available on the command queue.                            */
/*                                                                     */
/* RETURNED VALUE: none                                                */
/*                                                                     */
/* GLOBALS USED:                                                       */
/*                                                                     */
/* FILE SCOPE STATICS USED:                                            */
/*                                                                     */
/*                                                                     */
/* CALLS:                                                              */
/*                                                                     */
/* LIMITATIONS:                                                        */
/*                                                                     */
/* WARNINGS:                                                           */
/*                                                                     */
/*                                                                     */
/***********************************************************************/

void TP_Cmds(void)
{
   ExecCmds(&TP_Cmd_Q,TPOpcodes);
}

/***********************************************************************/
/* END FUNCTION: TP_Cmds                                               */
/***********************************************************************/

